#pragma once


enum EpilCodeType
{
	ECT_Chunk,
	ECT_FieldIndexInitializer,
	ECT_FieldItemInitializer,
	ECT_FieldKeyInitializer,
	ECT_FunctionName,
	ECT_ParameterList,
	ECT_ThenBlock,

	ECT_NilExpression,
	ECT_BooleanExpression,
	ECT_OctalExpression,
	ECT_DecimalExpression,
	ECT_HexadecimalExpression,
	ECT_DoubleExpression,
	ECT_ScientificExpression,
	ECT_StringExpression,
	ECT_IdentifierExpression,
	ECT_VariousParameterExpression,

	ECT_UnaryExpression,
	ECT_BinaryExpression,
	ECT_IndexExpression,
	ECT_FieldExpression,
	ECT_FunctionCallExpression,
	ECT_MethodCallExpression,
	ECT_FunctionBodyExpression,
	ECT_TableConstructorExpression,

	ECT_AssignStatement,
	ECT_BlockStatement,
	ECT_BreakStatement,
	ECT_ContinueStatement,
	ECT_ForListStatement,
	ECT_ForNumberStatement,
	ECT_FunctionCallStatement,
	ECT_FunctionStatement,
	ECT_IfStatement,
	ECT_LocalFunctionStatement,
	ECT_LocalVariableStatement,
	ECT_RepeatStatement,
	ECT_ReturnStatement,
	ECT_WhileStatement
};